====== arnaud_d ======

===== Présentation =====

Je suis ingénieur en vibrations à Toulouse.

J'ai eu mon premier PC vers mes 8 ans (je crois), c'était un Philips P3120 avec un microprocesseur 8088 cadencé à 10 MHz (si vous avez connu faites moi signe ça me ferait rire :-D). Avec ça, j'ai appris à programmer en BASIC 8-).

{{ http://home.claranet.nl/users/pb0aia/cm/p3105a.jpg?200 }}

Après une longue période Windows, j'ai découvert Ubuntu mi-2007 : des CD d'installation avaient été mis en libre service à la coupe de robotique à la Ferté-Bernard. J'ai donc installé [[:feisty|Feisty (7.04)]] sur mon sony_vaio_vgn-c1s|Sony Vaio VGN-C1S.

{{http://images04.olx.pt/ui/7/45/33/1278846537_104664233_1-Fotos-de--Sony-Vaio-VGN-C1S-1278846537.jpg?200}}

Le Sony Vaio a rendu l'âme après 6 ans de loyaux services (pas trop mal !). J'ai ensuite eu un [[:hp_pavilion_dm1-3130|HP Pavillon dm1-3130]] mais qui n'a duré que 2 ans (vive la fiabilité des notebook).

{{http://i.pcworld.fr/1217653-hp-pavilion-dm1-3231sf-1.jpg?200}}

Début 2014 j'ai décidé de monter moi-même mon PC qui comprend :
  * Carte mere ASROCK B75M-ITX
  * Processeur INTEL Core i5-3350P 3.1GHz - 6Mo cache - sans graphique - Socket LGA1155
  * Carte graphique ASUS ATI Radeon HD6670
  * Memoire ddr3 KINGSTON Hyper X Blu Red Serie XMP 8G (2x4Go) PC12800 1600MHz CL9
  * Boitier COOLER MASTER Elite 120 Advanced
  * Alimentation FORTRON RAIDER 550W
  * Ventilateur boitier AEROCOOL Shark White Edition - 120 mm
  * Clavier bluestork KB-MEDIAFIRST2

J'avais même demandé conseils sur le forum (voir [[http://forum.ubuntu-fr.org/viewtopic.php?id=1462931|discussion]])

J'utilise essentiellement :
  * [[:darktable|Darktable]] pour mes développements photos (j'utilise la version de dev sur Github)
  * [[:shotwell|Shotwell]] pour trier mes photos
  * [[:scilab|Scilab]] et [[:octave|Octave]] pour tous mes calculs scientifiques
  * [[:geany|Geany]] pour coder en C++, bash et parfois même Matlab !
  * [[:gnuplot|Gnuplot]]
  * [[http://www.giuspen.com/cherrytree/|CherryTree]], une petite merveille qui me sert de bloc-note géant dans lequel je mélange astuces perso, pro, informatique, bricolage. Tout sur tout ! Le remède à la question "Comment j'avais fait déjà ?"

J'ai beaucoup utilisé par le passé:
  * Kile pour rédiger mes rapports de TP en [[:LaTex]]
  * [[:skype|Skype]] mais ça c'est fini !

Je pratique différents langages de [[:programmation|programmation]] (à mon niveau !):
  * C
  * C++ (avec framework [[:qt|Qt]])
  * [[:python|Python]]
  * [[:octave|Octave]]/[[:matlab|Matlab]]
  * [[:tutoriel:script_shell|Scripts bash]]

===== Participations (épisodiques, je l'avoue) =====
  * Traduction de Scilab sur le Launchpad
  * Documentation, en particulier sur les PC dont je dispose, un sony_vaio_vgn-c1s|Sony Vaio VGN-C1S et un [[:hp_pavilion_dm1-3130|HP Pavilion DM1-3130]].

===== Où me retrouver ========
  * Sur [[http://irc.freenode.net|IRC Freenode]] 
  * Sur [[https://launchpad.net|Launchpad]]

===== Scripts, programmes, astuces que je souhaite partager ===== 

==== Scripts Bash en relation avec la photographie ====
=== Statistiques Exif ===
<file bash exifstats.sh>
#!/bin/sh

if [ "`uname -o`" = "GNU/Linux" ]
then
    html_reader="/usr/bin/firefox"
else
    html_reader="/cygdrive/c/Users/NG002B82/Local\ Settings/Application\ Data/Mozilla\ Firefox/firefox.exe"
fi

mkdir exifstats_data

# TODO :
#   - corrélation ouverture / focale
#   - vitesse d'obturation

# Recherche de fichiers et récupérations des informations
find . -iname '*.jpg' -exec exif '{}' \; | awk 'BEGIN{FS="|"}/^Focal Length  /{n_foc[$2]++}END {for (k in n_foc) {printf("%.3g %s\n",k,n_foc[k])}}' | sort -n > exifstats_data/focale.dat
find . -iname '*.jpg' -exec exif '{}' \; | awk 'BEGIN{FS="|"}/^F-Number/{n_foc[$2]++}END {for (k in n_foc) {printf("%.3g %s\n",substr(k,3,5),n_foc[k])}}' | sort -n > exifstats_data/aperture.dat
find . -iname '*.jpg' -exec exif '{}' \; | awk 'BEGIN{FS="|"}/^ISO Speed Ratings/{n_foc[$2]++}END {for (k in n_foc) {printf("%d %d\n",k,n_foc[k])}}' | sort -n > exifstats_data/ISO.dat

# Rédaction du script gnuplot
# \EOF indique qu'il ne faut rien interpréter
gnuplot <<\EOF
reset
set terminal svg font "Calibri" size 1000,400
unset key
set style fill solid 1.0
# force le minimum de y à 0
set yrange [0:]

# ===== FOCALE =====
set out 'exifstats_data/focale.svg'
set xlabel  'Focale (mm)'
set ylabel  'Nombre de photos'
set xtics rotate by 90 offset character 0, -1
set style data histograms
p 'exifstats_data/focale.dat' u 2:xticlabels(1)
set out

# ======= OUVERTURE ======
set out 'exifstats_data/aperture.svg'
set xlabel  'Ouverture'
set ylabel  'Nombre de photos'
set xtics rotate by 90 offset character 0, -1
p 'exifstats_data/aperture.dat' u 2:xticlabels(1)
set out

# ======= ISO =======
set out 'exifstats_data/ISO.svg'
set xlabel  'ISO'
set ylabel  'Nombre de photos'
set xtics rotate by 90 offset character 0, -2
p 'exifstats_data/ISO.dat' u 2:xticlabels(1)
set out
EOF

cat <<EOF > exifstats.htm
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
<title>Statistiques photo</title>
</head> 
<body>
<img src="exifstats_data/focale.svg">
<img src="exifstats_data/aperture.svg">
<img src="exifstats_data/ISO.svg">
</body>
EOF

$html_reader exifstats.htm &
</file>

==== Vérificateur de prix sur le site Grosbill.com ====

Lorsque j'ai décidé d'acheter mes compostants pour mon PC sur Grosbill, j'ai créé ce petit script afin de vérifier l'avolution des prix et surtout pour voir rapidement si l'un des composants avait été soldé.

<file bash grosbill.sh>
#!/bin/bash
# definition du nom du fichier de sortie avec la date du jour
ofile=$(date +"%d-%b".txt)

# initialisation de total au frais de port
total=9.90

# Declaration d'une liste contenant les URL
declare -A device_list
device_list=(  ["Mere"]="http://www.grosbill.com/4-asrock_b75m_itx_-163764-informatique-_carte_mere" \
               ["Graphique"]="http://www.grosbill.com/4-asus_ati_radeon_hd6670_-164090-informatique-ati" \
               ["CPU"]="http://www.grosbill.com/4-intel_core_i5_3350p_3_1ghz_6mo_cache_sans_graphique_socket_lga1155_-166202-informatique-_processeur" \
               ["Boitier"]="http://www.grosbill.com/4-cooler_master_cm_690_ii_advanced_black_and_white_-169848-informatique-boitier" \
               ["RAM"]="http://www.grosbill.com/4-x-168285-x-xx" \
               ["Alim"]="http://www.grosbill.com/4-fortron_raider_550w_-190863-informatique-alimentation_atx" \
               ["Fan"]="http://www.grosbill.com/4-aerocool_shark_white_edition_120mm_-173184-informatique-ventilateur_boitier" \
               ["Clavier"]="http://www.grosbill.com/4-bluestork_kb_mediafirst2_-143786-peripheriques-clavier" \
        )

# Pour chaque composant, recuperer le prix et l'ajouter au total
# La ligne contenant le prix est celle-ci :
# <meta itemprop="price" content="75.24" />
# donc le search pattern est
# .*content="\(.*\)" \/>
for device in "${!device_list[@]}"
do 
   price=$(wget ${device_list["$device"]} -O - -o /dev/null\ | grep 'itemprop="price"' | sed -e 's/.*content="\(.*\)" \/>/\1/')
   total=$(echo $total + $price | bc)
   echo -e "$device \t $price" >> $ofile;
done
echo -e "TOTAL \t $total" >> $ofile;

# Ranger les donnees dans le fichier en colonnes et reecrire le fichier
column -t $ofile | tee $ofile
</file>
==== Fichiers de coloration syntaxique GtkSourceView ====
Ces fichiers sont à copier dans **/usr/share/gtksourceview-3.0/language-specs**

=== Gnuplot ===
Je me suis basé sur le travail de Martin Schlenker [[http://forum.ubuntuusers.de/topic/gnuplot-gedit-syntaxhervorhebung/#post-1860052|sur cette page]], mais j'ai complètement refait la liste des mots-clés et ai utilisé un nouveau style, identifier, pour ce que j’appelle les paramètres.

<file xml gnuplot.lang>
<?xml version="1.0" encoding="UTF-8"?>
<!--

 Author: Martin Schlenker & Arnaud Dessein
 Copyright (C) 3/2009 Martin Schlenker <schlenker.martin@gmx.de>
 Copyright (C) 12/2011 Arnaud Dessein <arnaud.dessein@gmail.com>

 This library is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

-->
<language id="gnuplot" _name="GNUplot" version="3.0" _section="Scientific">
  <metadata>
    <property name="mimetypes">text/x-gnuplot</property>
    <property name="globs">*.plt</property>
    <property name="line-comment-start">#</property>
  </metadata>

  <styles>
    <style id="command"         _name="Command"                 map-to="def:keyword"/>
    <style id="function"        _name="Function"                map-to="def:function"/>
    <style id="constant"        _name="Constant"                map-to="def:constant"/>
    <style id="parameter"       _name="Parameter"               map-to="def:identifier"/>
    <style id="floating-point"  _name="Floating point number"   map-to="def:floating-point"/>
  </styles>

  <definitions>

    <context id="constant" style-ref="constant">
        <keyword>canvas</keyword>
        <keyword>cgm</keyword>
        <keyword>corel</keyword>
        <keyword>dpu414</keyword>
        <keyword>dumb</keyword>
        <keyword>dxf</keyword>
        <keyword>eepic</keyword>
        <keyword>emf</keyword>
        <keyword>emtex</keyword>
        <keyword>epslatex</keyword>
        <keyword>epson_180dpi</keyword>
        <keyword>epson_60dpi</keyword>
        <keyword>epson_lx800</keyword>
        <keyword>fig</keyword>
        <keyword>gif</keyword>
        <keyword>hp2623A</keyword>
        <keyword>hp2648</keyword>
        <keyword>hp500c</keyword>
        <keyword>hpdj</keyword>
        <keyword>hpgl</keyword>
        <keyword>hpljii</keyword>
        <keyword>hppj</keyword>
        <keyword>imagen</keyword>
        <keyword>jpeg</keyword>
        <keyword>latex</keyword>
        <keyword>lua</keyword>
        <keyword>mf</keyword>
        <keyword>mif</keyword>
        <keyword>mp</keyword>
        <keyword>nec_cp6</keyword>
        <keyword>okidata</keyword>
        <keyword>pbm</keyword>
        <keyword>pcl5</keyword>
        <keyword>pdfcairo</keyword>
        <keyword>png</keyword>
        <keyword>pngcairo</keyword>
        <keyword>postscript</keyword>
        <keyword>pslatex</keyword>
        <keyword>pstex</keyword>
        <keyword>pstricks</keyword>
        <keyword>qms</keyword>
        <keyword>starc</keyword>
        <keyword>svg</keyword>
        <keyword>tandy_60dpi</keyword>
        <keyword>texdraw</keyword>
        <keyword>tgif</keyword>
        <keyword>tikz</keyword>
        <keyword>tkcanvas</keyword>
        <keyword>tpic</keyword>
        <keyword>unknown</keyword>
        <keyword>windows</keyword>
        <keyword>wxt</keyword>
    </context>

    <context id="command" style-ref="command">
        <keyword>cd</keyword>
        <keyword>call</keyword>
        <keyword>clear</keyword>
        <keyword>exit</keyword>
        <keyword>fit</keyword>
        <keyword>help</keyword>
        <keyword>history</keyword>
        <keyword>if</keyword>
        <keyword>load</keyword>
        <keyword>pause</keyword>
        <keyword>plot</keyword>
        <keyword>using</keyword>
        <keyword>u</keyword>
        <keyword>with</keyword>
        <keyword>w</keyword>
        <keyword>index</keyword>
        <keyword>every</keyword>
        <keyword>smooth</keyword>
        <keyword>thru</keyword>
        <keyword>print</keyword>
        <keyword>pwd</keyword>
        <keyword>quit</keyword>
        <keyword>replot</keyword>
        <keyword>reread</keyword>
        <keyword>reset</keyword>
        <keyword>save</keyword>
        <keyword>set</keyword>
        <keyword>show</keyword>
        <keyword>unset</keyword>
        <keyword>shell</keyword>
        <keyword>splot</keyword>
        <keyword>system</keyword>
        <keyword>test</keyword>
        <keyword>unset</keyword>
        <keyword>update</keyword>
        <keyword>replot</keyword>
    </context>
    
    <context id="parameter" style-ref="parameter">
        <keyword>angles</keyword>
        <keyword>arrow</keyword>
        <keyword>autoscale</keyword>
        <keyword>bars</keyword>
        <keyword>bmargin</keyword>
        <keyword>border</keyword>
        <keyword>boxwidth</keyword>
        <keyword>clabel</keyword>
        <keyword>clip</keyword>
        <keyword>cntrparam</keyword>
        <keyword>colorbox</keyword>
        <keyword>contour</keyword>
        <keyword>datafile</keyword>
        <keyword>decimalsign</keyword>
        <keyword>dgrid3d</keyword>
        <keyword>dummy</keyword>
        <keyword>encoding</keyword>
        <keyword>fit</keyword>
        <keyword>fontpath</keyword>
        <keyword>format</keyword>
        <keyword>functions</keyword>
        <keyword>function</keyword>
        <keyword>grid</keyword>
        <keyword>hidden3d</keyword>
        <keyword>historysize</keyword>
        <keyword>isosamples</keyword>
        <keyword>key</keyword>
        <keyword>label</keyword>
        <keyword>lmargin</keyword>
        <keyword>loadpath</keyword>
        <keyword>locale</keyword>
        <keyword>logscale</keyword>
        <keyword>mapping</keyword>
        <keyword>margin</keyword>
        <keyword>mouse</keyword>
        <keyword>multiplot</keyword>
        <keyword>mx2tics</keyword>
        <keyword>mxtics</keyword>
        <keyword>my2tics</keyword>
        <keyword>mytics</keyword>
        <keyword>mztics</keyword>
        <keyword>notitle</keyword>
        <keyword>offsets</keyword>
        <keyword>origin</keyword>
        <keyword>output</keyword>
        <keyword>parametric</keyword>
        <keyword>pm3d</keyword>
        <keyword>palette</keyword>
        <keyword>pointsize</keyword>
        <keyword>polar</keyword>
        <keyword>print</keyword>
        <keyword>rmargin</keyword>
        <keyword>rrange</keyword>
        <keyword>samples</keyword>
        <keyword>size</keyword>
        <keyword>style</keyword>
        <keyword>surface</keyword>
        <keyword>terminal</keyword>
        <keyword>tics</keyword>
        <keyword>ticslevel</keyword>
        <keyword>ticscale</keyword>
        <keyword>timestamp</keyword>
        <keyword>timefmt</keyword>
        <keyword>title</keyword>
        <keyword>tmargin</keyword>
        <keyword>trange</keyword>
        <keyword>urange</keyword>
        <keyword>variables</keyword>
        <keyword>version</keyword>
        <keyword>view</keyword>
        <keyword>vrange</keyword>
        <keyword>x2data</keyword>
        <keyword>x2dtics</keyword>
        <keyword>x2label</keyword>
        <keyword>x2mtics</keyword>
        <keyword>x2range</keyword>
        <keyword>x2tics</keyword>
        <keyword>x2zeroaxis</keyword>
        <keyword>xdata</keyword>
        <keyword>xdtics</keyword>
        <keyword>xlabel</keyword>
        <keyword>xmtics</keyword>
        <keyword>xrange</keyword>
        <keyword>xtics</keyword>
        <keyword>xzeroaxis</keyword>
        <keyword>y2data</keyword>
        <keyword>y2dtics</keyword>
        <keyword>y2label</keyword>
        <keyword>y2mtics</keyword>
        <keyword>y2range</keyword>
        <keyword>y2tics</keyword>
        <keyword>y2zeroaxis</keyword>
        <keyword>ydata</keyword>
        <keyword>ydtics</keyword>
        <keyword>ylabel</keyword>
        <keyword>ymtics</keyword>
        <keyword>yrange</keyword>
        <keyword>ytics</keyword>
        <keyword>yzeroaxis</keyword>
        <keyword>zdata</keyword>
        <keyword>zdtics</keyword>
        <keyword>cbdata</keyword>
        <keyword>cbdtics</keyword>
        <keyword>zero</keyword>
        <keyword>zeroaxis</keyword>
        <keyword>zlabel</keyword>
        <keyword>zmtics</keyword>
        <keyword>zrange</keyword>
        <keyword>ztics</keyword>
        <keyword>cblabel</keyword>
        <keyword>cbmtics</keyword>
        <keyword>cbrange</keyword>
        <keyword>cbtics</keyword>
        <keyword>out</keyword>
        <keyword>font</keyword>
        <keyword>lines</keyword>
        <keyword>lw</keyword>
        <keyword>missing</keyword>
        <keyword>lp</keyword>
        <keyword>pt</keyword>
    </context>

    <context id="function" style-ref="function"> 
        <keyword>abs</keyword>
        <keyword>acos</keyword>
        <keyword>acosh</keyword>
        <keyword>arg</keyword>
        <keyword>asin</keyword>
        <keyword>asinh</keyword>
        <keyword>atan</keyword>
        <keyword>atan2</keyword>
        <keyword>atanh</keyword>
        <keyword>besj0</keyword>
        <keyword>besj1</keyword>
        <keyword>besy0</keyword>
        <keyword>besy1</keyword>
        <keyword>ceil</keyword>
        <keyword>cos</keyword>
        <keyword>cosh</keyword>
        <keyword>erf</keyword>
        <keyword>erfc</keyword>
        <keyword>exp</keyword>
        <keyword>floor</keyword>
        <keyword>gamma</keyword>
        <keyword>ibeta</keyword>
        <keyword>inverf</keyword>
        <keyword>igamma</keyword>
        <keyword>imag</keyword>
        <keyword>invnorm</keyword>
        <keyword>int</keyword>
        <keyword>lambertw</keyword>
        <keyword>lgamma</keyword>
        <keyword>log</keyword>
        <keyword>log10</keyword>
        <keyword>norm</keyword>
        <keyword>rand</keyword>
        <keyword>real</keyword>
        <keyword>sgn</keyword>
        <keyword>sin</keyword>
        <keyword>sinh</keyword>
        <keyword>sqrt</keyword>
        <keyword>tan</keyword>
        <keyword>tanh</keyword>
        <keyword>column</keyword>
        <keyword>defined</keyword>
        <keyword>tm_hour</keyword>
        <keyword>tm_mday</keyword>
        <keyword>tm_min</keyword>
        <keyword>tm_mon</keyword>
        <keyword>tm_sec</keyword>
        <keyword>tm_wday</keyword>
        <keyword>tm_yday</keyword>
        <keyword>tm_year</keyword>
        <keyword>valid</keyword>
    </context>


    <context id="floating-point" style-ref="floating-point">
      <match extended="true">
        (?&lt;![\w\.])
        ([0-9]+[Ee][-+]?[0-9]+|
         ([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-+]?[0-9]+)?)
        [i]?
        (?![\w\.])
      </match>
    </context>

    <context id="gnuplot">
      <include>
        <context ref="def:shell-like-comment"/>
        <context ref="def:string"/>
        <context ref="def:single-quoted-string"/>
        <context ref="command"/>
        <context ref="function"/>
        <context ref="constant"/>
        <context ref="parameter"/>
        <context ref="floating-point"/>
      </include>

    </context>
   
  </definitions>

</language>
</file>
